home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
misc
/
amag
/
AM9404_3.lha
/
toolmanager (teil 1)
/
workshop
/
mini-view.rexx
next >
Wrap
OS/2 REXX Batch file
|
1994-02-08
|
3KB
|
76 lines
/* Listing 4 - Mini-View von Gunther Lemm
Dieses kleine ARexx-Programm ist ein Datei-Analysator,
der dazu in der Lage ist, die Dateitypen Text, IFF-Bild,
IFF-Sample LHA-Archiv und ARexx zu unterscheiden. Nachdem
einer der genannten Dateitypen erkannt wurde, startet
Mini-View automatisch ein passendes Anzeigeprogramm und
lädt die Datei. Es muß unter dem Namen »Mini-View.rexx«
in den Ordner »SYS:Rexxc« geschrieben werden. */
Address COMMAND /* Nicht-ARexx-Befehle zum CLI */
Parse ARG file /* Aufrufparameter einlesen */
/* keine Parameter übergeben-> More starten */
If file = "" Then Do ; "run SYS:Utilities/more"; Exit;End
if left(file,1)~='"' then file='"'||file||'"'
pos=Lastpos(".",file)
suffix=""
If pos>0 Then suffix = Upper(Right(file,Length(file)-pos))
If Length(suffix)>0 && Right(suffix,1)='"' Then suffix=Left(suffix,Length(suffix)-1)
/* Suffix-Check (ist schneller als der Byte-Check) */
Select
When suffix = "DOC" Then p=1
When suffix = "DOK" Then p=1
When suffix = "ASC" Then p=1
When suffix = "TXT" Then p=1
When suffix = "IFF" Then p=2
When suffix = "PIC" Then p=2
When suffix = "BRUSH" Then p=2
When suffix = "SAMPLE" Then p=3
When suffix = "SND" Then p=3
When suffix = "SMP" Then p=3
When suffix = "LHA" Then p=4
When suffix = "LZH" Then p=4
When suffix = "REXX" Then p=5
Otherwise Do /* kein (bekannter) Suffix */
/* Checkt die ersten 20 Bytes, falls der Suffix-Check
nicht erfolgreich war. Index(xx,"TEXT") = 9 gibt die
Position des ersten Zeichens von TEXT in der Datei an.
Für BeckerText(e) wäre das: When Index(inp,"BTXTTEXT")=1
Then ... */
dummy="ergo=Open(in,"file")"
interpret dummy
if ergo=1 then do
inp = ReadCh(in,20)
ergc=Close(in)
Select
When Index(inp,"ILBM") = 9 Then p=2
When Index(inp,"8SVX") = 9 Then p=3
Otherwise p=1
End
End
End
End
cli=' >CON:0/0/640/256/Archiv-Inhalt.../DELAY/WAIT/CLOSE'
Select /* Anzeigeprogramm starten & Datei einladen */
/* Text anzeigen */
When p=1 Then address command 'run SYS:utilities/more 'file
/* Bild anzeigen */
When p=2 Then 'SYS:Utilities/Display '||file
/* Sample abspielen (mit Upd über ARexx) */
When p=3 Then Address PLAY 'file '||file||' -S'
/* Archiv auflisten */
When p=4 Then 'SYS:c/Lha l '||file||cli
/* ARexx-Programm starten */
When p=5 Then 'SYS:rexxc/RX '||file
End
Exit
/* Das Archivierungsprogramm Lha ist in den C:-Ordnern
der meisten FISH-Disks zu finden. Sie müssen es in
Ihren C:-Ordner kopieren, um die Archiv-Auflistungs-
Funktion nutzen zu können. */